From 402fd8ec292ee29dead3190ceef9786aa9fecae9 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Fri, 3 Apr 2020 15:28:57 -0300 Subject: [PATCH] iconGrid: Downscale icon size when comparing to defaults The return value of st_theme_node_lookup_length() is scaled according to the scale factor. IconGrid.ICON_SIZE is not. However, when BaseIcon tries to fetch the CSS value for "icon-size" (which returns a scaled value), it uses it as-is, mixing the two coordinate systems. Use a single coordinate system (unscaled sizes) in IconGrid.BaseIcon. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1175 --- js/ui/iconGrid.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/js/ui/iconGrid.js b/js/ui/iconGrid.js index 25cd14099..69c3fa52d 100644 --- a/js/ui/iconGrid.js +++ b/js/ui/iconGrid.js @@ -114,8 +114,11 @@ class BaseIcon extends St.Bin { if (this._setSizeManually) { size = this.iconSize; } else { + const { scaleFactor } = + St.ThemeContext.get_for_stage(global.stage); + let [found, len] = node.lookup_length('icon-size', false); - size = found ? len : ICON_SIZE; + size = found ? len / scaleFactor : ICON_SIZE; } if (this.iconSize == size && this._iconBin.child) -- 2.39.5